/** 
 * File: CourseTest.java
 * Project: CMSC 345 Course Registration System, Fall 2010
 * Author: Leandro Villanueva, Nick Newman, David Chong
 * Date: 12/10/10
 * E-mail: leandro1@umbc.edu, nnewman2@umbc.edu, ro62899@umbc.edu
 * This class is used in conjunction with Junit to test the various methods 
 * from the CourseTest.  All of the test passed.
 * 
 * 
 * Class Invariant: None
 */

package registeringSystem;

import static org.junit.Assert.*;
import java.util.ArrayList;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class CourseTest 
{
	// the Course object that will be used to test the methods
	private Course course1,course2;
	
	
	/** 
     * Name: setUp <br><br>
     * The set up that will be used for all of the test. 
     */
	@Before
	public void setUp() throws Exception
	{
		course1 = new Course();
		course2 = new Course("12345", new ArrayList<User>(), "spring", 2010,
				             30, "Math", 2, "miner", "", new Location(),
				             "monday", new Time(), 15, 3, "string",
				             new MonthDayYear(), new MonthDayYear(), 
				             new ArrayList<String>(), new ArrayList<User>(),
				             new ArrayList<User>());
	} // end of setUp()
	
	
	/** 
     * Name: tearDown <br><br>
     * The method that will be called after each test. 
     */
	@After
	public void tearDown() throws Exception
	{
		course1 = course2 = null;
	} // end of tearDown()
	
	
	/** 
     * Name: testConstructor1 <br><br>
     * Checks if constructor will throw an exception if null arguments were
     * passed in. 
     */
	@Test
	public void testConstructor1()
	{
		try
		{
		    course1 = new Course(null, null, null, 0, 0, null, 0, null, null, 
		    		             null, null, null, 0, 0, null, null, null, 
		    		             null, null, null);
		    fail("The constructor should fail because a null reference was " +
		    	 "passed in!\n");
		}
		
		catch(Exception e)
		{
			; // do nothing
		}
	} // end of testConstructor1()
	
	
	/** 
     * Name: testConstructor2 <br><br>
     * Checks if constructor will throw an exception if a negative number were
     * passed in. 
     */
	@Test
	public void testConstructor2()
	{
		try
		{
		    course1 = new Course("", new ArrayList<User>(), "", -1, -1, "", -1, 
		    		             "", "", new Location(), "",
		    		             new Time(), -1, -1, "", new MonthDayYear(), 
		    		             new MonthDayYear(), new ArrayList<String>(),
		    		             new ArrayList<User>(), new ArrayList<User>());
		    
		    fail("The constructor should fail because a negative number was " +
		    	 "passed in!\n");
		}
		
		catch(Exception e)
		{
			; // do nothing
		}
	} // end of testConstructor2()
	
	
	/** 
     * Name: testGetCourseID <br><br>
     * Confirms that the getCourseID() works. 
     */
	@Test
	public void testGetCourseID()
	{
		assertTrue(course2.getCourseID().equals("12345"));
	} // end of testGetCourseID()
		
	
	/** 
     * Name: testGetStudentList <br><br>
     * Confirms that the getStudentList() works. 
     */
	@Test
	public void testGetStudentList()
	{
		assertTrue(course2.getStudentList().size() == 0);
	} // end of getStudentList()
	
	
	/** 
     * Name: testGetSemester <br><br>
     * Confirms that the getSemester() works. 
     */
	@Test
	public void testGetSemester()
	{
		assertTrue(course2.getSemester().equals("spring"));
	} // end of testGetSemester()
	
	
	/** 
     * Name: testGetYear <br><br>
     * Confirms that the getYear() works. 
     */
	@Test
	public void testGetYear()
	{
		assertTrue(course2.getYear() == 2010);
	} // end of getYear()
	
	
	/** 
     * Name: testGetCapacity <br><br>
     * Confirms that the getCapacity() works. 
     */
	@Test
	public void testGetCapacity()
	{
		assertTrue(course2.getCapacity() == 30);
	} // end of testGetCapcity() 
	
	
	/** 
     * Name: testGetCourseName <br><br>
     * Confirms that the getCapacity() works. 
     */
	@Test
	public void testGetCourseName()
	{
		assertTrue(course2.getCourseName().equals("Math"));
	} // end of testGetCourseName()
	
	
	/** 
     * Name: testGetSectionNumber <br><br>
     * Confirms that the getSectionNumber() works. 
     */
	@Test
	public void testGetSectionNumber()
	{
		assertTrue(course2.getSectionNumber()==2);
	} // end of testGetSectionNumber
	
	
	/** 
     * Name: testGetInstructorName <br><br>
     * Confirms that the getInstructorName() works. 
     */
	@Test
	public void testGetInstructorName()
	{
		assertTrue(course2.getInstructorName().equals("miner"));
	} // end of testGetInstructorName()
	
	
	/** 
     * Name: testGetTeachingLocation <br><br>
     * Confirms that the getTeachingLocation() works. 
     */
	@Test
	public void testGetTeachingLocation()
	{
		assertTrue(course2.getTeachingLocation().equals(new Location()));
	} // end of testGetTeachingLocation()
	
	
	/** 
     * Name: testGetDaysHeld <br><br>
     * Confirms that the getGetDaysHeld() works. 
     */
	@Test
	public void testGetDaysHeld()
	{
		assertTrue(course2.getDaysHeld().equals("monday"));
	} // end of testGetDaysHeld()
	
	
	/** 
     * Name: testGetTimeHeld <br><br>
     * Confirms that the getTimeHeld() works. 
     */
	@Test
	public void testGetTimeHeld()
	{
		assertTrue(course2.getTimeHeld().equals(new Time()));
	} // end of testGetTimeHeld()
	
	
	/** 
     * Name: testGetNumberOfWeeks <br><br>
     * Confirms that the getNumberOfWeeks() works. 
     */
	@Test
	public void testGetNumberOfWeeks()
	{
		assertTrue(course2.getNumberOfWeeks()==15);
	} // end of testGetNumberOfWeeks()
	
	
	/** 
     * Name: testGetNumberOfCredits <br><br>
     * Confirms that the getNumberOfCredits() works. 
     */
	@Test
	public void testGetNumberOfCredits()
	{
		assertTrue(course2.getNumberOfCredits()==3);
	} // end of testGetNumberOfCredits()
	
	
	/** 
     * Name: testGetCourseExcerpt <br><br>
     * Confirms that the getCourseExcerpt() works. 
     */
	@Test
	public void testGetCourseExcerpt()
	{
		assertTrue(course2.getCourseExcerpt().equals("string"));
	} // end of testGetCourseExcerpt()
	
	
	/** 
     * Name: testGetStartDate <br><br>
     * Confirms that the getStartDate() works. 
     */
	@Test
	public void testGetStartDate()
	{
		assertTrue(course2.getStartDate().equals(new MonthDayYear()));
	} // end of testGetStartDate()
	
	
	/** 
     * Name: testGetEndDate <br><br>
     * Confirms that the getGetEndDate() works. 
     */
	@Test
	public void testGetEndDate()
	{
		assertTrue(course2.getEndDate().equals(new MonthDayYear()));
	} // end of testGetEndDate()
	
	
	/** 
     * Name: testGetPrerequisites <br><br>
     * Confirms that the getPrerequisties() works. 
     */
	@Test
	public void testGetPrerequisites()
	{
		assertTrue(course2.getPrerequisitesNeededForThisCourse().size() == 0);
	} // end of testGetPrerequisites()
	
	
	/** 
     * Name: testGetWaitList <br><br>
     * Confirms that the getWaitList() works. 
     */
	@Test
	public void testGetWaitList()
	{
		assertTrue(course2.getWaitList().size() == 0);
	} // end of testGetWaitList()
	
	
	/** 
     * Name: testGetWithdrawList <br><br>
     * Confirms that the getWithdrawList() works. 
     */
	@Test
	public void testGetWithdrawList()
	{
		assertTrue(course2.getWithdrawList().size() == 0);
	} // end of testGetWithdrawList()	
	
	
	/** 
     * Name: testSetCourseID1 <br><br>
     * Confirms that the setCourseID() works with a valid value. 
     */
	@Test
	public void testSetCourseID1()
	{
		try
		{
			course1.setCourseID("123");
			assertTrue(course1.getCourseID().equals("123"));
		}
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetCourseID1()
	
	
	/** 
     * Name: testSetCourseID2 <br><br>
     * Confirms that the setCourseID() throws an exception when a null is
     * passed in. 
     */
	@Test
	public void testSetCourseID2()
	{
		try
		{
			course1.setCourseID(null);
			fail("Should not allow a null reference to be passed!\n");
		}
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetCourseID2()
	
	
	/** 
     * Name: testSetStudentList1 <br><br>
     * Confirms that the setStudentList() works with a valid value. 
     */
	@Test
	public void testSetStudenList1()
	{
		try
		{
			course1.setStudentList(new ArrayList<User>());
			assertTrue(course1.getStudentList().size()==0);
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetStudentList1()
	
	
	/** 
     * Name: testSetStudentList2 <br><br>
     * Confirms that the setStudentList() throws an exception if a null
     * reference is passed in. 
     */
	@Test
	public void testSetStudenList2()
	{
		try
		{
			course1.setStudentList(null);
			fail("Should not allow a null reference");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetStudentList2()
	
	
	/** 
     * Name: testSetSemester1 <br><br>
     * Confirms that the setSemester() works with a valid value. 
     */
	@Test
	public void testSetSemester1()
	{
		try
		{
			course1.setSemester("fall");
			assertTrue(course1.getSemester().equals("fall"));
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetSemster1()
	
	
	
	/** 
     * Name: testSetSemester2 <br><br>
     * Confirms that the setSemester() throws an exception if a null reference
     * is passed in. 
     */
	@Test
	public void testSetSemester2()
	{
		try
		{
			course1.setSemester(null);
			fail("Should not allow a null reference!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetSemster2()
	
	
	/** 
     * Name: testSetYear1 <br><br>
     * Confirms that the setYear() works with a valid value. 
     */
	@Test
	public void testSetYear1()
	{
		try
		{
			course1.setYear(2010);
			assertTrue(course1.getYear()==2010);
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetYear1()
	
	
	/** 
     * Name: testSetYear2 <br><br>
     * Confirms that the setYear() throws an exception if a negative value is
     * passed in. 
     */
	@Test
	public void testSetYear2()
	{
		try
		{
			course1.setYear(-1);
			fail("Should not allow a negative value!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetYear2()
	
	
	/** 
     * Name: testSetCapacity1 <br><br>
     * Confirms that the setCapacity() works with a valid value. 
     */
	@Test
	public void testSetCapacity1()
	{
		try
		{
			course1.setCapacity(100);
			assertTrue(course1.getCapacity() == 100);
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetCapacity1()
	
	
	/** 
     * Name: testSetCapacity2 <br><br>
     * Confirms that the setCapacity() throws an exception if a negative value
     * is passed in. 
     */
	@Test
	public void testSetCapacity2()
	{
		try
		{
			course1.setCapacity(-100);
			fail("Should not allow a negative value to be set to this " +
			     "variable!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetCapacity2()
	
	
	/** 
     * Name: testSetCourseName1 <br><br>
     * Confirms that the setCourseName() works with a valid value. 
     */
	@Test
	public void testSetCourseName1()
	{
		try
		{
			course1.setCourseName("physics");
			assertTrue(course1.getCourseName().equals("physics"));
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of setCourseName1()
	
	
	/** 
     * Name: testSetCourseName2 <br><br>
     * Confirms that the setCourseName() throws an exception if a null 
     * reference is passed in. 
     */
	@Test
	public void testSetCourseName2()
	{
		try
		{
			course1.setCourseName(null);
			fail("Should not allow a null reference to be set!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of setCourseName2()
	
	
	/** 
     * Name: testSetSectionNumber1 <br><br>
     * Confirms that the setSectionNumber() works with a valid value. 
     */
	@Test
	public void testSetSectionNumber1()
	{
		try
		{
			course1.setSectionNumber(1);
			assertTrue(course1.getSectionNumber() == 1);
		} 
		
		catch(Exception e)
		{
			;
		}	
	} // end of testSectionNumber1()
	
	
	
	/** 
     * Name: testSetSectionNumber2 <br><br>
     * Confirms that the setSectionNumber() throws an exception if a negative
     * value is passed in. 
     */
	@Test
	public void testSetSectionNumber2()
	{
		try
		{
			course1.setSectionNumber(-1);
			fail("Should not allow a negative value to be set!\n");
		} 
		
		catch(Exception e)
		{
			;
		}	
	} // end of testSectionNumber2()
	
	
	/** 
     * Name: testSetInstructorName1 <br><br>
     * Confirms that the setInstructorName() works with a valid value. 
     */
	@Test
	public void testSetInstructorName1()
	{
		try
		{
			course1.setInstructorName("name");
			assertTrue(course1.getInstructorName().equals("name"));
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetInstructorName1()
	
	
	
	/** 
     * Name: testSetInstructorName2 <br><br>
     * Confirms that the setInstructorName() throws an exception if a null
     * reference is passed in. 
     */
	@Test
	public void testSetInstructorName2()
	{
		try
		{
			course1.setInstructorName(null);
			fail("Should not allow a null reference to be set!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetInstructorName2()
	
	
	/** 
     * Name: testSetTeachingAssistantName1 <br><br>
     * Confirms that the setTeachingAssistantName() works with a valid value. 
     */
	@Test
	public void testSetTeachingAssistantName1()
	{
		try
		{
			course1.setTeachingAssistantName("name");
			assertTrue(course1.getTeachingAssistantName().equals("name"));
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetTeachingAssistantName1()
	
	
	/** 
     * Name: testSetTeachingAssistantName2 <br><br>
     * Confirms that the setTeachingAssistantName() throws a exception because
     * a null reference is passed in. 
     */
	@Test
	public void testSetTeachingAssistantName2()
	{
		try
		{
			course1.setTeachingAssistantName(null);
			fail("Should not allow a null reference to be passed!\n");
			
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetTeachingAssistantName2()
	
	
	/** 
     * Name: testSetTeachingLocation1 <br><br>
     * Confirms that the setTeachingLocation() works with a valid value. 
     */
	@Test
	public void testSetTeachingLocation1()
	{
		try
		{
			course1.setTeachingLocation(new Location("a","a",1));
			assertTrue(course1.getTeachingLocation().equals(new Location("a","a",1)));
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetTeachingLocation1()
	
	
	/** 
     * Name: testSetTeachingLocation2 <br><br>
     * Confirms that the setTeachingLocation() throws an exception if an null
     * reference is passed in. 
     */
	@Test
	public void testSetTeachingLocation2()
	{
		try
		{
			course1.setTeachingLocation(null);
			fail("Should not allow a null reference to be set!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetTeachingLocation2()
	
	
	/** 
     * Name: testSetDaysHeld1 <br><br>
     * Confirms that the setDaysHeld() works with a valid value. 
     */
	@Test
	public void testSetDaysHeld1()
	{
		try
		{
			course1.setDaysHeld("days");
			assertTrue(course1.getDaysHeld().equals("days"));
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetDaysHeld1()
	
	
	/** 
     * Name: testSetDaysHeld2 <br><br>
     * Confirms that the setDaysHeld() throws a exception if a null reference
     * is passed in. 
     */
	@Test
	public void testSetDaysHeld2()
	{
		try
		{
			course1.setDaysHeld(null);
			fail("Should not allow a null reference to be set!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetDaysHeld2()
	
	
	/** 
     * Name: testSetTimeHeld1 <br><br>
     * Confirms that the setTimeHeld() works with a valid value. 
     */
	@Test
	public void testSetTimeHeld1()
	{
		try
		{
			course1.setTimeHeld(new Time(5,5));
			assertTrue(course1.getTimeHeld().equals(new Time(5,5)));
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetTimeHeld1()
	
	
	
	/** 
     * Name: testSetTimeHeld2 <br><br>
     * Confirms that the setTimeHeld() throws an exception if a null reference
     * is passed in. 
     */
	@Test
	public void testSetTimeHeld2()
	{
		try
		{
			course1.setTimeHeld(null);
			fail("Should not allow a null reference to be set");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetTimeHeld2()
	
	
	/** 
     * Name: testSetNumberOfWeeks1 <br><br>
     * Confirms that the setNumberOfWeeks() works with a valid value. 
     */
	@Test
	public void testSetNumberOfWeeks1()
	{
		try
		{
			course1.setNumberOfWeeks(5);
			assertTrue(course1.getNumberOfWeeks() == 5);
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetNumberOfWeeks1()
	
	
	/** 
     * Name: testSetNumberOfWeeks2 <br><br>
     * Confirms that the setNumberOfWeeks() throws an exception if a negative
     * value is passed in. 
     */
	@Test
	public void testSetNumberOfWeeks2()
	{
		try
		{
			course1.setNumberOfWeeks(-5);
			fail("Should not allow a negative value to be set!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetNumberOfWeeks2()
	
	
	/** 
     * Name: testSetNumberOfCredits1 <br><br>
     * Confirms that the setNumberOfCredits() works with a valid value. 
     */
	@Test
	public void testSetNumberOfCredits1()
	{
		try
		{
			course1.setNumberOfCredits(3);
			assertTrue(course1.getNumberOfCredits() == 3);
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetNumberOfCredits1()
	
	
	
	/** 
     * Name: testSetNumberOfCredits2 <br><br>
     * Confirms that the setNumberOfCredits() throws an exception if a negative
     * value is passed in. 
     */
	@Test
	public void testSetNumberOfCredits2()
	{
		try
		{
			course1.setNumberOfCredits(-3);
			fail("Should not allow a negative value to be set!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetNumberOfCredits2()
	
	
	/** 
     * Name: testSetCourseExcerpt1 <br><br>
     * Confirms that the setCourseExcerpt() works with a valid value. 
     */
	@Test
	public void testSetCourseExcerpt1()
	{
		try
		{
			course1.setCourseExcerpt("string");
			assertTrue(course1.getCourseExcerpt().equals("string"));
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetCourseExcerpt1()
	
	
	/** 
     * Name: testSetCourseExcerpt2 <br><br>
     * Confirms that the setCourseExcerpt() throws an exception if a null
     * reference is passed in. 
     */
	@Test
	public void testSetCourseExcerpt2()
	{
		try
		{
			course1.setCourseExcerpt(null);
			fail("Should not allow a null reference to be set!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetCourseExcerpt2()
	
	
	/** 
     * Name: testSetStartDate1 <br><br>
     * Confirms that the setStartDate() works with a valid value. 
     */
	@Test
	public void testSetStartDate1()
    {
		try
		{
			course1.setStartDate(new MonthDayYear(1,1,1));
			assertTrue(course1.getStartDate().equals(new MonthDayYear(1,1,1)));
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetStartDate1()
	
	
	
	/** 
     * Name: testSetStartDate2 <br><br>
     * Confirms that the setStartDate() throws an exception if a null reference
     * is passed in. 
     */
	@Test
	public void testSetStartDate2()
    {
		try
		{
			course1.setStartDate(null);
			fail("Should not allow a null reference to be passed in!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetStartDate2()
	
	
	/** 
     * Name: testSetEndDate1 <br><br>
     * Confirms that the setEndDate() works with a valid value. 
     */
	@Test
	public void testSetEndDate1()
    {
		try
		{
			course1.setEndDate(new MonthDayYear(1,1,1));
			assertTrue(course1.getEndDate().equals(new MonthDayYear(1,1,1)));
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetEndDate1()
	
	
	/** 
     * Name: testSetEndDate2 <br><br>
     * Confirms that the setEndDate() throws an exception if null reference is
     * passed in. 
     */
	@Test
	public void testSetEndDate2()
    {
		try
		{
			course1.setEndDate(null);
			fail("Should not allow a null reference to be set!\n");
		} 
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetEndDate2()
	
	
	/** 
     * Name: testSetPrerequisites1 <br><br>
     * Confirms that the setPrerequisites() works with a valid value. 
     */
	@Test
	public void testSetPrerequisites()
	{
		try
		{
			course1.setPrerequisitesNeededForThisCourse(
					                                  new ArrayList<String>());
			assertTrue(course1.getPrerequisitesNeededForThisCourse().size() 
				                                                         == 0);
		}
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetPrerequisites1()
	
	
	/** 
     * Name: testSetPrerequisites2 <br><br>
     * Confirms that the setPrerequisites() throws an exception if null reference is
     * passed in. 
     */
	@Test
	public void testSetPrerequisites2()
	{
		try
		{
			course1.setPrerequisitesNeededForThisCourse(null);
			fail("Should not allow a null reference to be set!\n");
		}
		
		catch(Exception e)
		{
			;
		}
	} // end of testSetPrerequisites2()
	
	
	/** 
     * Name: testSetWaitList1 <br><br>
     * Confirms that the setWaitList() works with a valid value. 
     */
	@Test
	public void testSetWaitList1()
	{
		try
		{
			course1.setWaitList(new ArrayList<User>());
			assertTrue(course1.getWaitList().size()==0);
		}
		
		catch(Exception e)
		{
			; // do nothing
		}
	} // end of testSetWaitList1()
	
	
	
	/** 
     * Name: testSetWaitList2 <br><br>
     * Confirms that the setWaitList() throws an exception because a null
     * reference was passed in. 
     */
	@Test
	public void testSetWaitList2()
	{
		try
		{
			course1.setWaitList(null);
			fail("Should not allow a null reference to be set!\n");
		}
		
		catch(Exception e)
		{
			; // do nothing
		}
	} // end of testSetWaitList2()
	
	
	/** 
     * Name: testSetWithdrawList1 <br><br>
     * Confirms that the setWithdrawList() works with a valid value. 
     */
	@Test
	public void testSetWithdrawList1()
	{
		try
		{
			course1.setWithdrawList(new ArrayList<User>());
			assertTrue(course1.getWithdrawList().size() == 0);
		}
		
		catch(Exception e)
		{
			; // do nothing
		}
	} // end of testSetWithdrawList1()
	
	
	/** 
     * Name: testSetWithdrawList2 <br><br>
     * Confirms that the setWithdrawList() throws an exception if a null
     * reference is passed in. 
     */
	@Test
	public void testSetWithdrawList2()
	{
		try
		{
			course1.setWithdrawList(null);
			fail("Should not allow a null reference to be set!\n");
		}
		
		catch(Exception e)
		{
			; // do nothing
		}
	} // end of testSetWithdrawList2()
	
	
	/** 
     * Name: testCompareTo1 <br><br>
     * Confirms that the compareTo() equals the expected result. 
     */
	@Test
	public void testCompareTo1()
	{
		assertTrue(course1.compareTo(course2) != 0);
	} // end of testCompareTo()
	
	
	/** 
     * Name: testCompareTo2 <br><br>
     * Confirms that the compareTo() equals the expected result. 
     */
	@Test
	public void testCompareTo2()
	{
		assertTrue(course1.compareTo(course1) == 0);
	} // end of testCompareTo2()
	
	
	/** 
     * Name: testEquals1 <br><br>
     * Confirms that the equals() will be the same as the expected result. 
     */
	@Test
	public void testEquals1()
	{
		Course course3 = new Course();
		assertTrue(course1.equals(course3));
	} // end of testEquals()
	
	
	/** 
     * Name: testEquals2 <br><br>
     * Confirms that the equals() will be the same as the expected result. 
     */
	@Test
	public void testEquals2()
	{
		assertFalse(course2.equals(course1));
	} // end of testEquals2()
} // end of CourseTest class